package cn.tedu.store.service;

import cn.tedu.store.entity.*;
import cn.tedu.store.entity.dto.PageDto;
import cn.tedu.store.temperatureDetection.entity.dto.EmployeeDto;
import org.springframework.web.multipart.MultipartFile;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.ParseException;
import java.util.Date;
import java.util.List;

public interface IRepairService {
    String repairApply(Repair repair);
    List<Repair> repairSelect(String phone, String deptId);
    String repairSelectMaxId();
    List<Employee> selectEmployee(String phone);
    List<Department> selectDepartment();
    List<Repair> selectRepairOrder(List<Integer> repairState);
    void applyDate(RepariOrder repairOrder);
    Integer updateByRepairapplyid(String repariOrderId, String repairOperator, Date repairAcceptDate);
    Repair selectMyRepairOrderById(String repairApplyId,String repairState);
    Integer cancelRepairOrder(String repariOrderId,Date cancelDate);
    List<RepariOrder> selectAllRepairOrder(String repairApplyOperator,String stateOne,String stateTwo,String repairStateOne,String repairStateTwo);
    Integer updateAcceptState(String repairApplyId,String repairOperator,Date repairFinishedDate);
    List<DutyTable> selectXxkPaiban();
    //20211005会议签到
    void meetingRecode(MeetingCheckRecode meetingCheckRecode);

    //20211008会议查询
    List<MeetingCheckRecode> meetingSelect(String empCode,String meetingCode);

    Integer updateMeetingRecode(Date empBeginDate,String empCode,String meetingCode);

    //根据工号查人员信息20211011
    List<Employee> selectEmployeeByCode(String employeeId);

    //根据工号查会议信息20211011
    List<MeetingCheckRecode> meetingSelectById(String meetingCode);

    //发言、请假、替换参会20211011
    Integer updatePersonRecode(String reportState, String leaveState, String replaceState, String empCode, String meetingCode);


    List<RepariOrder> selectAllRepairOrder2(String repairApplyOperator, String stateOne, String stateTwo, String repairStateOne, String repairStateTwo);

    void byRepairApplyIdSuggestion(String repairApplyId, String suggestion, String repairEvaluate);

    List<Repair> selectByToDateRepairAll(String start, String end);


    void lockout(String emplCode);

    void dispatch(String emplCode, String emplName,String repairApplyId);

    void appraise(String emplCode, String repairApplyId, String repairEvaluate, String suggestion);

    Repair progress(String repairApplyId, String progress);

    void automaticDispatch(List<Repair> repairs, String start, String end);

    List<Progress> selcetProgress(String repairApplyId);

    List<Repair> getWeRepair(String repairApplyOperator);

    Repair selectRepairById(String repairApplyId);

    void designateRepair(String repairApplyId, String employeeId);

    void uploadImg(MultipartFile file, String repairApplyId) throws IOException;

    String imgPreview(String repairApplyId) throws FileNotFoundException;

    List<RepariOrder> selectAllRepairOrder8(String repairApplyOperator, String stateOne, String stateTwo, String repairStateOne, String repairStateTwo);

    List<RepariOrder>         selectAllRepairOrder3(String repairApplyOperator, String stateOne, String stateTwo, String repairStateOne, String repairStateTwo);

    void reminders(Repair repair1);

    void updateRepairStateByRepairApplyId(String repairApplyId, String repairState, Date date);

    void updateComplaintsByRepairapplyid(String repairApplyId, String message);

    EmployeeDto getbyEmplCode(String emplCode);

    Object selectEm();

    String getdept(String repairLeadership);

    Object selectXxkPaiban1();


    void updataEndTime(String repairApplyId, Date endTime);

    void uploadRecording( MultipartFile file, String repairApplyId, String repairNum, String emplCode) throws IOException;

    Recording getRecording(String repairApplyId);

    void upadtaEndTime2(String repairApplyId, Date parse);

    void transfer(String repairApplyId, String emplCode);

    List<Transfer> secletAllTransfer();

    List<Repair> allOutcome();

    List<RepariOrder> deptAllRepair( String stateOne, String stateTwo, String repairStateOne, String repairStateTwo,String employeeDept);

    void send();

    List<RepariOrder> relevantPersonnel(String emplCode);

    void updateFinishedDate(String repairApplyId, int time);

    void updateApplyEndDate(String repairApplyId, int time);

    void daily();

    void morningClock();

    void Clock();

    void mrtx();

    List<Repair> allRepair(String endTime, String startTime, String repairState);

    List<Assign> assignAll(String endTime, String startTime, String repairState);

    void sendOfficialAccount(String dept,String data);

    PageDto<WorkFlow> workFlowList(int page, int pageSize);

    List<RepariOrder> selectAllRepairOrderEnd(String repairApplyOperator, String stateOne, String stateTwo, String repairStateOne, String repairStateTwo);

    void sendWorkFlow() throws ParseException;

    List<Supplies> querySupplies(String supplies);

    void addSupplies(List<Supplies> supplies,String repairApplyId);

    List<Supplies> relevancyOrders(String repairApplyId);

    void deleteSupplies(String repairApplyId, String itemCode);
}
